Efficient computation of spatial filter matrices for steering transmit diversity in a MIMO communication system

ABSTRACT

Techniques for efficiently computing spatial filter matrices are described. The channel response matrices for a MIMO channel may be highly correlated if the channel is relatively static over a range of transmission spans. In this case, an initial spatial filter matrix may be derived based on one channel response matrix, and a spatial filter matrix for each transmission span may be computed based on the initial spatial filter matrix and a steering matrix used for that transmission span. The channel response matrices may be partially correlated if the MIMO channel is not static but does not change abruptly. In this case, a spatial filter matrix may be derived for one transmission span l and used to derive an initial spatial filter matrix for another transmission span m. A spatial filter matrix for transmission span m may be computed based on the initial spatial filter matrix, e.g., using an iterative procedure.

BACKGROUND

I. Field

The present invention relates generally to communication, and morespecifically to spatial processing for data transmission in amultiple-input multiple-output (MIMO) communication system.

II. Background

A MIMO system employs multiple (N_(T)) transmit antennas at atransmitting entity and multiple (N_(R)) receive antennas at a receivingentity for data transmission. A MIMO channel formed by the N_(T)transmit antennas and N_(R) receive antennas may be decomposed intoN_(S) spatial channels, where N_(S)≦min {N_(T), N_(R)}. The N_(S)spatial channels may be used to transmit data in parallel to achievehigher throughput and/or redundantly to achieve greater reliability.

Each spatial channel may experience various deleterious channelconditions such as, e.g., fading, multipath, and interference effects.The N_(S) spatial channels may also experience different channelconditions and may achieve different signal-to-noise-and-interferenceratios (SNRs). The SNR of each spatial channel determines itstransmission capacity, which is typically quantified by a particulardata rate that may be reliably transmitted on the spatial channel. For atime variant wireless channel, the channel conditions change over timeand the SNR of each spatial channel also changes over time.

To improve performance, the MIMO system may utilize some form offeedback whereby the receiving entity evaluates the spatial channels andprovides feedback information indicating the channel condition or thetransmission capacity of each spatial channel. The transmitting entitymay then adjust the data transmission on each spatial channel based onthe feedback information. However, this feedback information may not beavailable for various reasons. For example, the system may not supportfeedback transmission from the receiving entity, or the wireless channelmay change more rapidly than the rate at which the receiving entity canestimate the wireless channel and/or send back the feedback information.In any case, if the transmitting entity does not know the channelcondition, then it may need to transmit data at a low rate so that thedata transmission can be reliably decoded by the receiving entity evenwith the worst-case channel condition. The performance of such a systemwould be dictated by the expected worst-case channel condition, which ishighly undesirable.

To improve performance (e.g., when feedback information is notavailable), the transmitting entity may perform spatial processing suchthat the data transmission does not observe the worst-case channelcondition for an extended period of time, as described below. A higherdata rate may then be used for the data transmission. However, thisspatial processing represents additional complexity for both thetransmitting and receiving entities.

There is therefore a need in the art for techniques to efficientlyperform spatial processing to improve performance in a MIMO system.

SUMMARY

Techniques for efficiently computing spatial filter matrices used forspatial processing by a receiving entity are described herein. Atransmitting entity may transmit data via a MIMO channel using eitherfull channel state information (“full-CSI”) or “partial-CSI”transmission, as described below. The transmitting entity may alsoutilize steering transmit diversity (STD) for improved performance. WithSTD, the transmitting entity performs spatial processing with differentsteering matrices so that the data transmission observes an ensemble ofeffective channels and is not stuck on a “bad” channel realization foran extended period of time. The receiving entity performs thecomplementary receiver spatial processing for either full-CSI orpartial-CSI transmission and for steering transmit diversity. Thespatial filter matrices used for receiver spatial processing may beefficiently computed if the MIMO channel is relatively static or doesnot change abruptly.

If the MIMO channel is relatively static over a range of transmissionspans (e.g., a range of symbol periods or frequency subbands), then thechannel response matrices for the MIMO channel over these transmissionspans may be highly correlated. In this case, an initial spatial filtermatrix may be derived based on a channel response matrix and a selectedreceiver processing technique, as described below. A spatial filtermatrix for each transmission span within the static range may then becomputed based on the initial spatial filter matrix and the steeringmatrix used for that transmission span.

If the MIMO channel is not static but does not change abruptly, then thechannel response matrices for different transmission spans may bepartially correlated. In this case, a spatial filter matrix M_(x)(l) maybe derived for a given transmission span l and used to derive an initialspatial filter matrix for another transmission span m. A spatial filtermatrix M_(x)(m) for transmission span m may then be computed based onthe initial spatial filter matrix, e.g., using an iterative procedure.The same processing may be repeated over a range of transmission spansof interest, so that each newly derived spatial filter matrix may beused to compute another spatial filter matrix for another transmissionspan.

The steering matrices may be defined such that the computation of thespatial filter matrices can be simplified. Various aspects andembodiments of the invention are described in further detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a transmitting entity and a receiving entity in a MIMOsystem;

FIG. 2 shows a model for data transmission with steering transmitdiversity;

FIGS. 3A and 3B show data transmission in a single-carrier MIMO systemand a multi-carrier MIMO system, respectively;

FIGS. 4 and 5 show processes to compute spatial filter matrices forfully and partially correlated channel response matrices, respectively;

FIG. 6 shows a block diagram of an access point and a user terminal; and

FIG. 7 shows a block diagram of a processor for spatial filter matrixcomputation.

DETAILED DESCRIPTION

The word “exemplary” is used herein to mean “serving as an example,instance, or illustration.” Any embodiment described herein as“exemplary” is not necessarily to be construed as preferred oradvantageous over other embodiments.

FIG. 1 shows a simple block diagram of a transmitting entity 110 and areceiving entity 150 in a MIMO system 100. At transmitting entity 110, atransmit (TX) spatial processor 120 performs spatial processing on datasymbols (denoted by a vector s(m)) to generate transmit symbols (denotedby a vector x(m)). As used herein, a “data symbol” is a modulationsymbol for data, a “pilot symbol” is a modulation symbol for pilot(which is data that is known a priori by both the transmitting andreceiving entities), a “transmit symbol” is a symbol to be sent from atransmit antenna, a “received symbol” is a symbol obtained from areceive antenna, and a modulation symbol is a complex value for a pointin a signal constellation used for a modulation scheme (e.g., M-PSK,M-QAM, and so on). The spatial processing is performed based on steeringmatrices V(m) and possibly other matrices. The transmit symbols arefurther conditioned by a transmitter unit (TMTR) 122 to generate N_(T)modulated signals, which are transmitted from N_(T) transmit antennas124 and via a MIMO channel.

At receiving entity 150, the transmitted modulated signals are receivedby N_(R) receive antennas 152, and the N_(R) received signals areconditioned by a receiver unit (RCVR) 154 to obtain received symbols(denoted by a vector r(m)). A receive (RX) spatial processor 160 thenperforms receiver spatial processing (or spatial matched filtering) onthe received symbols with spatial filter matrices (denoted by M_(x)(m))to obtain “detected” data symbols (denoted by a vector ŝ(m)). Thedetected data symbols are estimates of the data symbols sent bytransmitting entity 110. The spatial processing at the transmitting andreceiving entities are described below.

The spatial filter matrix computation techniques described herein may beused for a single-carrier MIMO system as well as a multi-carrier MIMOsystem. Multiple carriers may be obtained with orthogonal frequencydivision multiplexing (OFDM), discrete multi tone (DMT), some othermulti-carrier modulation techniques, or some other construct. OFDMeffectively partitions the overall system bandwidth into multiple(N_(F)) orthogonal subbands, which are also referred to as tones,subcarriers, bins, and frequency channels. With OFDM, each subband isassociated with a respective subcarrier that may be modulated with data.

In MIMO system 100, the MIMO channel formed by the N_(T) transmitantennas at transmitting entity 110 and the N_(R) receive antennas atreceiving entity 150 may be characterized by an N_(R)×N_(T) channelresponse matrix H(m), which may be given as: $\begin{matrix}{{{\underset{\_}{H}(m)} = \begin{bmatrix}{h_{1,1}(m)} & {h_{1,2}(m)} & \cdots & {h_{1,N_{T}}(m)} \\{h_{2,1}(m)} & {h_{2,2}(m)} & \cdots & {h_{2,N_{T}}(m)} \\\vdots & \vdots & ⋰ & \vdots \\{h_{N_{R},1}(m)} & {h_{N_{R},2}(m)} & \cdots & {h_{N_{R},N_{T}}(m)}\end{bmatrix}},} & {{Eq}\quad(1)}\end{matrix}$where entry h_(i,j)(m), for i=1 . . . N_(R) and j=1 . . . N_(T), denotesthe coupling or complex channel gain between transmit antenna j andreceive antenna i for transmission span m. A transmission span may covertime and/or frequency dimensions. For example, in a single-carrier MIMOsystem, a transmission span may correspond to one symbol period, whichis the time interval to transmit one data symbol. In a multi-carrierMIMO system, a transmission span may correspond to one subband in onesymbol period. A transmission span may also cover multiple symbolperiods and/or multiple subbands. For simplicity, the MIMO channel isassumed to be full rank with N_(S)=N_(T)≦N_(R).

The MIMO system may support data transmission using one or moreoperating modes such as, for example, a “calibrated” mode and an“uncalibrated” mode. The calibrated mode may employ full-CSItransmission whereby data is transmitted on orthogonal spatial channels(or “eigenmodes”) of the MIMO channel. The uncalibrated mode may employpartial-CSI transmission whereby data is transmitted on spatial channelsof the MIMO channel, e.g., from individual transmit antennas.

The MIMO system may also employ steering transmit diversity (STD) toimprove performance. With STD, the transmitting entity performs spatialprocessing with steering matrices so that a data transmission observesan ensemble of effective channels and is not stuck on a single badchannel realization for an extended period of time. Consequently,performance is not dictated by the worst-case channel condition.

1. Calibrated Mode—Full-CSI Transmission

For full-CSI transmission, eigenvalue decomposition may be performed ona correlation matrix of H(m) to obtain N_(S) eigenmodes of H(m), asfollows:R(m)=H ^(H)(m)·H(m)=E(m)·Λ(m)·E ^(H)(m),  Eq (2)where

-   -   R(m) is an N_(T)×N_(T) correlation matrix of H(m);    -   E(m) is an N_(T)×N_(T) unitary matrix whose columns are        eigenvectors of R(m);    -   Λ(m) is an N_(T)×N_(T) diagonal matrix of eigenvalues of R(m);        and “^(H)” denotes a conjugate transpose.        A unitary matrix U is characterized by the property U^(H)·U=I,        where I is the identity matrix. The columns of a unitary matrix        are orthogonal to one another, and each column has unit power.        The matrix E(m) may be used for spatial processing by the        transmitting entity to transmit data on the N_(S) eigenmodes of        H(m). The eigenmodes may be viewed as orthogonal spatial        channels obtained through decomposition. The diagonal entries of        Λ(m) are eigenvalues of R(m), which represent the power gains        for the N_(S) eigenmodes. Singular value decomposition may also        be performed to obtain matrices of left and right eigenvectors,        which may be used for full-CSI transmission.

The transmitting entity performs spatial processing for full-CSItransmission with steering transmit diversity, as follows:x _(f)(m)=E(m)·V(m)·s(m),  Eq (3)where s(m) is an N_(T)×1 vector with up to N_(S) data symbols to be sentin transmission span m;

-   -   V(m) is an N_(T)×N_(T) steering matrix for transmission span m;    -   E(m) is the matrix of eigenvectors for transmission span m; and    -   x_(f)(m) is an N_(T)×1 vector with N_(T) transmit symbols to be        sent from the N_(T) transmit antennas in transmission span m.        As shown in equation (3), each data symbol in s(m) is        effectively spatially spread with a respective column of V(m).        If N_(S)<N_(T), then N_(S) data symbols in s(m) are spatially        spread with an N_(S)×N_(S) matrix V(m) to obtain N_(S)“spread”        symbols. Each spread symbol includes a component of each of the        N_(S) data symbols. The N_(S) spread symbols from the spatial        spreading are then sent on the N_(S) eigenmodes of H(m). Each        steering matrix V(m) is a unitary matrix and may be generated as        described below.

The receiving entity obtains received symbols from the N_(R) receiveantennas, which may be expressed as:r _(f)(m)=H(m)·x _(f)(m)+n(m)=H(m)·E(m)·V(m)·s(m)+n(m)=H _(f) _(—)_(eff)(m)·s(m)+n(m)  Eq (4)where

-   -   r_(f)(m) is an N_(R)×1 vector with N_(R) received symbols        obtained via the N_(R) receive antennas in transmission span m;    -   n(m) is a noise vector for transmission span m; and    -   H_(f) _(—) _(eff)(m) is an N_(R)×N_(T)“effective” MIMO channel        response matrix observed by the data vector s(m) for full-CSI        transmission with steering transmit diversity, which is:        H _(f) _(—) _(eff)(m)=H(m)·E(m)·V(m).  Eq (5)

For simplicity, the noise is assumed to be additive white Gaussian noise(AWGN) with a zero mean vector and a covariance matrix of φ_(nn)=σ²·I,where σ² is the variance of the noise and I is the identity matrix.

The receiving entity can recover the data symbols in s(m) using variousreceiver processing techniques. The techniques applicable for full-CSItransmission include a full-CSI technique and a minimum mean squareerror (MMSE) technique.

For the full-CSI technique, the receiving entity may derive a spatialfilter matrix M_(fsci)(m) as follows:M _(fcsi)(m)=V ^(H)(m)·Λ⁻¹(m)·E ^(H)(m)·H ^(H)(m)  Eq (6)The receiving entity may perform receiver spatial processing usingM_(fcsi)(m), as follows: $\begin{matrix}{{{{\hat{\underset{\_}{s}}}_{fcsi}(m)} = {{{\underset{\_}{M}}_{fcsi}(m)} \cdot {{\underset{\_}{r}}_{f}(m)}}},\quad{= {{{\underset{\_}{V}}^{H}(m)} \cdot {{\underset{\_}{\Lambda}}^{- 1}(m)} \cdot {{\underset{\_}{E}}^{H}(m)} \cdot {{\underset{\_}{H}}^{H}(m)} \cdot \quad\left\lbrack {{{\underset{\_}{H}(m)} \cdot {\underset{\_}{E}(m)} \cdot {\underset{\_}{V}(m)} \cdot {\underset{\_}{s}(m)}} + {\underset{\_}{n}(m)}} \right\rbrack}},\quad{= {{\underset{\_}{s}(m)} + {{\underset{\_}{n}}_{f}(m)}}},} & {{Eq}\quad(7)}\end{matrix}$where

-   -   ŝ_(fcsi)(m) is an N_(T)×1 vector with N_(S) detected data        symbols; and    -   n_(f)(m) is the post-detection noise after the receiver spatial        processing.

For the MMSE technique, the receiving entity may derive a spatial filtermatrix M_(f) _(—) _(mmse)(m) as follows:M _(f) _(—) _(mmse)(m)=[H _(f) _(eff) ^(H)(m)·H _(f) _(—) _(eff)(m)+σ²·I] ⁻¹ ·H _(f) _(—) _(eff) ^(H)(m).  Eq (8)The spatial filter matrix M_(f) _(—) _(mmse)(m) minimizes the meansquare error between the symbol estimates from the spatial filter andthe data symbols in s(m).

The receiving entity may perform MMSE spatial processing, as follows:$\begin{matrix}{{{{\hat{\underset{\_}{s}}}_{f\_ mmse}(m)} = {{{\underset{\_}{D}}_{f\_ mmse}^{- 1}(m)} \cdot {{\underset{\_}{M}}_{f\_ mmse}(m)} \cdot {{\underset{\_}{r}}_{f}(m)}}},\quad{= {{{\underset{\_}{D}}_{f\_ mmse}^{- 1}(m)} \cdot {{\underset{\_}{M}}_{f\_ mmse}(m)} \cdot \quad\left\lbrack {{{{\underset{\_}{H}}_{f\_ eff}(m)} \cdot {\underset{\_}{s}(m)}} + {\underset{\_}{n}(m)}} \right\rbrack}},\quad{= {{{{\underset{\_}{D}}_{f\_ mmse}^{- 1}(m)} \cdot {{\underset{\_}{M}}_{f\_ mmse}(m)} \cdot \quad{{\underset{\_}{H}}_{f\_ eff}(m)} \cdot {\underset{\_}{s}(m)}} + {{\underset{\_}{n}}_{f\_ mmse}(m)}}},} & {{Eq}\quad(9)}\end{matrix}$where

-   -   D_(f) _(—) _(mmse)(M) is a diagonal matrix containing the        diagonal elements of        M _(f) _(—) _(mmse)(m)·H _(f) _(—) _(eff)(m), or D _(f) _(—)        _(mmse)(m)=diag[M _(f) _(—) _(mmse)(m)·H _(f) _(—) _(eff)(m)];        and    -   n_(f) _(—) _(mmse)(m) is the MMSE filtered noise.        The symbol estimates from the spatial filter M_(f) _(—)        _(mmse)(m) are unnormalized estimates of the data symbols. The        multiplication with the scaling matrix D_(f) _(—) _(mmse)(m)        provides normalized estimates of the data symbols.

Full-CSI transmission attempts to send data on the eigenmodes of H(m).However, a full-CSI data transmission may not be completely orthogonaldue to, for example, an imperfect estimate of H(m), error in theeigenvalue decomposition, finite arithmetic precision, and so on. TheMMSE technique can account for (or “clean up”) any loss of orthogonalityin the full-CSI data transmission.

Table 1 summarizes the spatial processing at the transmitting andreceiving entities for full-CSI transmission with steering transmitdiversity. TABLE 1 Entity Calibrated Mode - Full-CSI TransmissionTransmitter x _(f) (m) = E (m) · V (m) · s (m) Spatial Processing H _(f)_(—) _(eff) (m) = H (m) · E (m) · V (m) Effective Channel Receiver M_(fcsi) (m) = V ^(H) (m) · Λ ⁻¹ (m) · E ^(H) (m) · Spatial full-CSI H^(H) (m) Filter Matrix ŝ _(fcsi) (m) = M _(fcsi) (m) · r _(f) (m)Spatial Processing Receiver M _(f) _(—) _(mmse) (m) = [H _(f) _(—)_(eff) ^(H) (m) · Spatial MMSE H _(f) _(—) _(eff) (m) + σ² · I]⁻¹ · H_(f) _(—) _(eff) ^(H) (m) Filter Matrix D _(f) _(—) _(mmse) (m) = diag[M _(f) _(—) _(mmse) (m) · H _(f) _(—) _(eff) (m)] ŝ _(f) _(—) _(mmse)(m) = D _(f) _(—) _(mmse) ⁻¹ (m) · Spatial M _(f) _(—) _(mmse) (m) · r_(f) (m) Processing

2. Uncalibrated Mode—Partial-CSI Transmission

For partial-CSI transmission with steering transmit diversity, thetransmitting entity performs spatial processing as follows:x _(P)(m)=V(m)·s(m),  Eq (10)where x_(p)(m) is the transmit data vector for transmission span m. Asshown in equation (10), each data symbol in s(m) is spatially spreadwith a respective column of V(m). The N_(T) spread symbols resultingfrom the multiplication with V(m) are then transmitted from the N_(T)transmit antennas.

The receiving entity obtains received symbols, which may be expressedas: $\begin{matrix}{{{{\underset{\_}{r}}_{p}(m)} = {{{{\underset{\_}{H}(m)} \cdot {{\underset{\_}{x}}_{p}(m)}} + {\underset{\_}{n}(m)}}\quad = {{{\underset{\_}{H}(m)} \cdot {\underset{\_}{V}(m)} \cdot {\underset{\_}{s}(m)}} + {\underset{\_}{n}(m)}}}},\quad{= {{{{\underset{\_}{H}}_{p\_ eff}(m)} \cdot {\underset{\_}{s}(m)}} + {\underset{\_}{n}(m)}}},} & {{Eq}\quad(11)}\end{matrix}$where

-   -   r_(p)(m) is the received symbol vector for transmission span m;        and    -   H_(p) _(—) _(eff)(m) is an N_(R)×N_(T) effective MIMO channel        response matrix observed by s(m) for partial-CSI transmission        with steering transmit diversity, which is:        H _(p) _(—) _(eff)(m)=H(m)·V(m).  Eq (12)

The receiving entity can recover the data symbols in s(m) using variousreceiver processing techniques. The techniques applicable forpartial-CSI transmission include a channel correlation matrix inversion(CCMI) technique (which is also commonly called a zero-forcingtechnique), the MMSE technique, and a successive interferencecancellation (SIC) technique.

For the CCMI technique, the receiving entity may derive a spatial filtermatrix M_(ccmi)(m), as follows:M _(ccmi)(m)=[H _(p) _(—) _(eff) ^(H)(m)·H _(p) _(—) _(eff)(m)]⁻¹ ·H_(p) _(—) _(eff) ^(H)(m)=R _(p) _(—) _(eff) ⁻¹(m)·H _(p) _(—) _(eff)^(H)(m).  Eq (13)The receiving entity may perform CCMI spatial processing, as follows:$\begin{matrix}{{{{\hat{\underset{\_}{s}}}_{ccmi}(m)} = {{{\underset{\_}{M}}_{ccmi}(m)} \cdot {{\underset{\_}{r}}_{p}(m)}}},\quad{= {{{{\underset{\_}{R}}_{p\_ eff}^{- 1}(m)} \cdot {{\underset{\_}{H}}_{p\_ eff}^{H}(m)} \cdot \quad\left\lbrack {{{{\underset{\_}{H}}_{p\_ eff}(m)} \cdot {\underset{\_}{s}(m)}} + {\underset{\_}{n}(m)}} \right\rbrack}\quad = {{\underset{\_}{s}(m)} + {{\underset{\_}{n}}_{ccmi}(m)}}}},} & {{Eq}\quad(14)}\end{matrix}$where n_(ccmi)(m) is the CCMI filtered noise. Due to the structure ofR_(p) _(—) _(eff)(m), the CCMI technique may amplify the noise.

For the MMSE technique, the receiving entity may derive a spatial filtermatrix M_(p) _(—) _(mmse)(m), as follows:M _(p) _(—) _(mmse)(m)=[H _(p) _(—) _(eff) ^(H)(m)·H _(p) _(—)_(eff)(m)+σ² ·I] ⁻¹ H _(p) _(—) _(eff) ^(H)(m).  Eq (15)Equation (15) for the partial-CSI transmission has the same form asequation (8) for the full-CSI transmission. However, H_(p) _(—)_(eff)(m) (instead of H_(f) _(—) _(eff)(m)) is used in equation (15) forpartial-CSI transmission.

The receiving entity may perform MMSE spatial processing, as follows:$\begin{matrix}{{{{\hat{\underset{\_}{s}}}_{p\_ mmse}(m)} = {{{\underset{\_}{D}}_{p\_ mmse}^{- 1}(m)} \cdot {{\underset{\_}{M}}_{p\_ mmse}(m)} \cdot {{\underset{\_}{r}}_{p}(m)}}},\quad{= {{{{\underset{\_}{D}}_{p\_ mmse}^{- 1}(m)} \cdot {{\underset{\_}{M}}_{p\_ mmse}(m)} \cdot \quad{{\underset{\_}{H}}_{p\_ eff}(m)} \cdot {\underset{\_}{s}(m)}} + {{\underset{\_}{n}}_{p\_ mmse}(m)}}},} & {{Eq}\quad(16)}\end{matrix}$where D_(p) _(—) _(mmse)(m)=diag [M_(p) _(—) _(mmse)(m)·H_(p) _(—)_(eff)(m)] and n_(p) _(—) _(mmse)(m) is the MMSE filtered noise forpartial-CSI transmission.

For the SIC technique, the receiving entity recovers the data symbols ins(m) in successive stages. For clarity, the following descriptionassumes that each element of s(m) and each element of r_(p)(m)corresponds to one data symbol stream. The receiving entity processesthe N_(R) received symbol streams in r_(p)(m) in N_(S) successive stagesto recover the N_(S) data symbol streams in s(m). Typically, the SICprocessing is such that one packet is recovered for one stream, and thenanother packet is recovered for another stream, and so on. Forsimplicity, the following description assumes N_(S)=N_(T).

For each stage l, where l=1 . . . N_(S), the receiving entity performsreceiver spatial processing on N_(R) input symbol streams r_(p) ^(l)(m)for that stage. The input symbol streams for the first stage (l=1) arethe received symbol streams, or r_(p) ^(l)(m)=r_(p)(m). The input symbolstreams for each subsequent stage (l=2 . . . N_(S)) are modified symbolstreams from a preceding stage. The receiver spatial processing forstage l is based on a spatial filter matrix M_(x) ^(l)(m), which may bederived based on a reduced effective channel response matrix H_(p) _(—)_(eff) ^(l)(m) and further in accordance with the CCMI, MMSE, or someother technique. H_(p) _(eff) ^(l)(m) contains N_(S)−l+1 columns inH_(p) _(—) _(eff)(m) corresponding to N_(S)−l+1 data symbol streams notyet recovered in stage l. The receiving entity obtains one detected datasymbol stream {ŝ_(l′)} for stage l and further processes (e.g.,demodulates, deinterleaves, and decodes) this stream to obtain acorresponding decoded data stream {{circumflex over (d)}_(l)}.

The receiving entity next estimates the interference that data symbolstream {s_(l)} causes to the other data symbol streams not yetrecovered. To estimate the interference, the receiving entity processes(e.g., re-encodes, interleaves, and symbol maps) the decoded data stream{{circumflex over (d)}_(l)} in the same manner performed by thetransmitting entity for this stream and obtains a stream of“remodulated” symbols {{hacek over (s)}_(l)}, which is an estimate ofthe data symbol stream {s_(l)} just recovered. The receiving entity thenperforms spatial processing on the remodulated symbol stream withsteering matrices V(m) and further multiplies the result with channelresponse matrices H(m) to obtain N_(R) interference components i^(l)(m)caused by stream {s_(l)}. The receiving entity then subtracts the N_(R)interference components i^(l)(m) from the N_(R) input symbol streamsr_(p) ^(l)(m) for the current stage l to obtain N_(R) input symbolstreams r_(p) ^(l+1)(m) for the next stage, or r_(p) ^(l−1)(m)=r_(p)^(l)(m)−i^(l)(m). The input symbol streams r_(p) ^(l+1)(m) represent thestreams that the receiving entity would have received if the data symbolstream {s_(l)} had not been transmitted, assuming that the interferencecancellation was effectively performed. The receiving entity thenrepeats the same processing on the N_(R) input symbol streams r_(p)^(l+)1(m) to recover another data stream. However, the effective channelresponse matrix H_(p) _(—) _(eff) ^(l+1)(m) for the subsequent stage l+1is reduced by one column corresponding to the data symbol stream {s_(l)}recovered in stage l.

For the SIC technique, the SNR of each data symbol stream is dependenton (1) the receiver processing technique (e.g., CCMI or MMSE) used foreach stage, (2) the specific stage in which the data symbol stream isrecovered, and (3) the amount of interference due to the data symbolstreams recovered in later stages. In general, the SNR progressivelyimproves for data symbol streams recovered in later stages because theinterference from data symbol streams recovered in prior stages iscanceled. This may then allow higher rates to be used for data symbolstreams recovered in later stages.

Table 2 summarizes the spatial processing at the transmitting andreceiving entities for partial-CSI transmission with steering transmitdiversity. For simplicity, the SIC technique is not shown in Table 2.TABLE 2 Uncalibrated Mode - Partial-CSI Entity Transmission Transmitterx _(p) (m) = V (m) · s (m) Spatial Processing H _(p) _(—) _(eff) (m) = H(m) · V (m) Effective Channel Receiver M _(ccmi) (m) = [H _(p) _(—)_(eff) ^(H) (m) · H _(p) _(—) _(eff) (m)]⁻¹ · Spatial CCMI H _(p) _(—)_(eff) ^(H) (m) Filter Matrix ŝ _(ccmi) (m) = M _(ccmi) (m) · r _(p) (m)Spatial Processing Receiver M _(p) _(—) _(mmse) (m) = [H _(p) _(—)_(eff) ^(H) (m) · Spatial MMSE H _(p) _(—) _(eff) (m) + σ² · I]⁻¹ · H_(p) _(—) _(eff) ^(H) (m) Filter Matrix D _(p) _(—) _(mmse) (m) = diag[M _(p) _(—) _(mmse) (m) · H _(p) _(—) _(eff) (m)] ŝ _(p) _(—) _(mmse)(m) = D _(p) _(—) _(mmse) ⁻¹ (m) · Spatial M _(p) _(—) _(mmse) (m) · r_(p) (m) Processing

FIG. 2 shows a model for data transmission with steering transmitdiversity. Transmitting entity 110 performs spatial processing (orspatial spreading) for steering transmit diversity (block 220) andspatial processing for either full-CSI or partial-CSI transmission(block 230). Receiving entity 150 performs receiver spatial processingfor full-CSI or partial-CSI transmission (block 260) and receiverspatial processing (or spatial despreading) for steering transmitdiversity (block 270). As shown in FIG. 2, the transmitting entityperforms spatial spreading for steering transmit diversity prior to thespatial processing (if any) for full-CSI and partial-CSI transmission.The receiving entity may perform the complementary receiver spatialprocessing for full-CSI or partial-CSI transmission followed by spatialdespreading for steering transmit diversity.

3. Spatial Filter Matrix Computation

With steering transmit diversity, different steering matrices V(m) maybe used for different transmission spans to randomize the effective MIMOchannel observed by a data transmission. This may then improveperformance since the data transmission does not observe a “bad” MIMOchannel realization for an extended period of time. The transmissionspans may correspond to symbol periods for a single-carrier MIMO systemor subbands for a multi-carrier MIMO system.

FIG. 3A shows a partial-CSI transmission with steering transmitdiversity for a single-carrier MIMO system. For this system, thetransmission span index m may be equal to a symbol period index n (orm=n). One vector s(n) of data symbols may be transmitted in each symbolperiod n and spatially spread with a steering matrix V(n) selected forthat symbol period. Each data symbol vector s(n) observes an effectiveMIMO channel response of H_(p) _(—) _(eff)(n)=H(n)·V(n) and is recoveredusing a spatial filter matrix M_(x)(n).

FIG. 3B shows a partial-CSI transmission with steering transmitdiversity in a multi-carrier MIMO system. For this system, thetransmission span index m may be equal to a subband index k (or m=k).For each symbol period, one vector s(k) of data symbols may betransmitted in each subband k and spatially spread with a steeringmatrix V(k) selected for that subband. Each data symbol vector s(k)observes an effective MIMO channel response of H_(p) _(—)_(eff)(k)=H(k)·V(k) and is recovered using a spatial filter matrixM_(x)(k). The vector s(k) and the matrices V(k), H(k), and M_(x)(k) arealso a function of symbol period n, but this is not shown forsimplicity.

As shown in FIGS. 3A and 3B, if different steering matrices are used fordifferent transmission spans, then the spatial filter matrices used bythe receiving entity are a function of the transmission span index m.This is true even if the channel response matrix H(m) is fixed orconstant over a range of transmission spans. For example, in amulti-carrier MIMO system, H(k) may be fixed across a set of subbandsfor a flat fading MIMO channel with a flat frequency response. Asanother example, in a single-carrier MIMO system, H(n) may be fixed overa given time interval for a MIMO channel with no temporal fading. Thistime interval may correspond to all or a portion of the time durationused to transmit a block of data symbols that is coded and decoded as ablock.

A degree of correlation typically exists between the channel responsematrices for adjacent transmission spans, e.g., between H(m) and H(m±1).This correlation may be exploited to simplify the computation for thespatial filter matrices at the receiving entity. The computation isdescribed below for two cases—full-correlation and partial-correlation.

A. Full Correlation

With full-correlation, the channel response matrix for the MIMO channelis fixed over a range of transmission span indices of interest, e.g.,for m=1 . . . M, where M may be any integer value greater than one.Thus, H(1)=H(2)= . . . =H(M)=H.

For the full-CSI technique, the spatial filter matrix M_(fcsi)(m) withfully correlated channel response matrices may be expressed as:M _(fcsi)(m)=V ^(H)(m)·Λ⁻¹ ·E ^(H) ·H ^(H).  Eq (17)The spatial filter matrix M_(fcsi)(m) may then be computed as:M _(fcsi)(m)=V ^(H)(m)·M _(fcsi) _(base) , for m=1 . . . M,  Eq (18)where M_(fcsi) _(—) _(base)=Λ⁻¹·E^(H)·H^(H) is a base spatial filtermatrix, which is the spatial filter matrix for the full-CSI techniquewithout steering transmit diversity. The base spatial filter matrixM_(fcsi) _(—) _(base) is not a function of transmission span m becausethe channel response matrix H is fixed. Equation (18) indicates that thespatial filter matrix M_(fcsi)(m) for each transmission span m may beobtained by pre-multiplying the base spatial filter matrix M_(fcsi) _(—)_(base) with the steering matrix V^(H)(m) used for that transmissionspan.

Alternatively, the spatial filter matrix M_(fcsi)(m) may be computed as:M _(fcsi)(m)=W ₁(m)·M _(fcsi)(1), for m=2 . . . M,  Eq (19)where M_(fcsi)(1)=V^(H)(1)·Λ⁻¹·E^(H)·H^(H) and W₁(m)=V^(H)(m)·V(1),Equation (19) indicates that the spatial filter matrix M_(fcsi)(m) foreach transmission span m may be obtained by pre-multiplying the spatialfilter matrix M_(ccmi)(1) for transmission span 1 with the matrix W₁(m).The matrices W₁(m), for m=2 . . . M, are unitary matrices, each of whichis obtained by multiplying two unitary steering matrices V(m) and V(1).The matrices W₁(m) may be pre-computed and stored in a memory.

For the MMSE technique for full-CSI transmission, the spatial filtermatrix M_(f) _(—) _(mmse)(m) with fully correlated channel responsematrices may be expressed as: $\begin{matrix}{\quad\begin{matrix}{{{\underset{\_}{M}}_{f\_ mmse}(m)} = {\left\lbrack {{{\underset{\_}{H}}_{f\_ eff}^{H}{(m) \cdot {{\underset{\_}{H}}_{f\_ eff}(m)}}} + {\sigma^{2} \cdot \underset{\_}{I}}} \right\rbrack^{- 1} \cdot}} \\{{{\underset{\_}{H}}_{f\_ eff}^{H}(m)},} \\{\left\lbrack {{{{\underset{\_}{V}}^{H}(m)} \cdot {\underset{\_}{E}}^{H} \cdot {\underset{\_}{H}}^{H} \cdot \underset{\_}{H} \cdot \underset{\_}{E} \cdot {\underset{\_}{V}(m)}} + {\sigma^{2} \cdot \underset{\_}{I}}} \right\rbrack^{- 1} \cdot} \\{{{{\underset{\_}{V}}^{H}(m)} \cdot {\underset{\_}{E}}^{H} \cdot {\underset{\_}{H}}^{H}},} \\{{{\underset{\_}{V}}^{H}(m)} \cdot \left\lbrack {{{\underset{\_}{E}}^{H} \cdot {\underset{\_}{H}}^{H} \cdot \underset{\_}{H} \cdot \underset{\_}{E}} + {\sigma^{2} \cdot \underset{\_}{I}}} \right\rbrack^{- 1} \cdot {\underset{\_}{E}}^{H} \cdot {{\underset{\_}{H}}^{H}.}}\end{matrix}} & {{Eq}\quad(20)}\end{matrix}$Equation (20) is derived using the properties: (A·B)⁻¹=B⁻¹·A⁻¹ andV·V^(H)=I. The term within bracket in the second equality in equation(20) may be expressed as:$\left\lbrack {{{\underset{\_}{V}}^{H} \cdot {\underset{\_}{E}}^{H} \cdot {\underset{\_}{H}}^{H} \cdot \underset{\_}{H} \cdot \underset{\_}{E} \cdot \underset{\_}{V}} + {\sigma^{2} \cdot \underset{\_}{I}}} \right\rbrack$$\begin{matrix}{{= \left\lbrack {{{\underset{\_}{V}}^{H}\left( {{{\underset{\_}{E}}^{H} \cdot {\underset{\_}{H}}^{H} \cdot \underset{\_}{H} \cdot \underset{\_}{E}} + {\sigma^{2} \cdot \underset{\_}{V} \cdot \underset{\_}{I} \cdot {\underset{\_}{V}}^{H}}} \right)} \cdot \underset{\_}{V}} \right\rbrack},} \\{{= \left\lbrack {{{\underset{\_}{V}}^{H}\left( {{{\underset{\_}{E}}^{H} \cdot {\underset{\_}{H}}^{H} \cdot \underset{\_}{H} \cdot \underset{\_}{E}} + {\sigma^{2} \cdot \underset{\_}{\left. I \right)}}} \right\rbrack}^{- 1} \cdot \underset{\_}{V}} \right\rbrack},}\end{matrix}$where “(m)” has been omitted for clarity. The inverse of the term in thesecond equality above may then be expressed as:[V ^(H)(E ^(H) ·H ^(H) ·H·E+σ ² ·I)·V] ⁻¹ =V ^(H)[(E ^(H) ·H ^(H) ·H·E+σ² ·I)⁻¹ ·V],where V^(H)=V⁻.

The spatial filter matrix M_(f) _(—) _(mmse)(m) may be computed as:M _(f) _(—) _(mmse)(m)=V ^(H)(m)·M _(f) _(—) _(mmse) _(—) _(base), form=1 . . . M,  Eq (21)where M_(f) _(—) _(mmse) _(—)_(base)=[E^(H)·H^(H)·H·E+σ²·I]⁻¹·E^(H)·H^(H). Similar to the full-CSItechnique, the spatial filter matrix M_(f) _(—) _(mmse)(m) fortransmission span m may be obtained by pre-multiplying the base spatialfilter matrix M_(f) _(—) _(mmse) _(—) _(base) with the steering matrixV^(H)(m). The spatial filter matrix M_(f) _(—) _(mmse)(m) may also becomputed as:M_(f) _(—) _(mmse)(m)=W ₁(m)·M_(f) _(—) _(mmse)(1) for m=2 . . . M,  Eq(22)where M_(f) _(—)_(mmse)(1)=V^(H)(1)·[E^(H)·H^(H)·H·E+σ²·I]⁻¹·E^(H)·H^(H).

For the CCMI technique, the spatial filter matrix M_(ccmi)(m) with fullycorrelated channel response matrices may be expressed as:$\begin{matrix}{\quad\begin{matrix}{{{{\underset{\_}{M}}_{ccmi}(m)} = {\left\lbrack {{\underset{\_}{H}}_{p\_ eff}^{H}{(m) \cdot {{\underset{\_}{H}}_{p\_ eff}(m)}}} \right\rbrack^{- 1} \cdot {{\underset{\_}{H}}_{p\_ eff}^{H}(m)}}},} \\{{\left\lbrack {{\underset{\_}{V}}^{H}{(m) \cdot {\underset{\_}{H}}^{H} \cdot \underset{\_}{H} \cdot {\underset{\_}{V}(m)}}} \right\rbrack^{- 1} \cdot {{\underset{\_}{V}}^{H}(m)} \cdot {\underset{\_}{H}}^{H}},} \\{{\left\lbrack {{{\underset{\_}{V}}^{H}(m)} \cdot \underset{\_}{R} \cdot {\underset{\_}{V}(m)}} \right\rbrack^{- 1} \cdot {{\underset{\_}{V}}^{H}(m)} \cdot {\underset{\_}{H}}^{H}},} \\{{{{\underset{\_}{V}}^{- 1}(m)} \cdot {\underset{\_}{R}}^{- 1} \cdot \left\lbrack {{\underset{\_}{V}}^{H}(m)} \right\rbrack^{- 1} \cdot {{\underset{\_}{V}}^{H}(m)} \cdot {\underset{\_}{H}}^{H}},} \\{{{{\underset{\_}{V}}^{H}(m)} \cdot {\underset{\_}{R}}^{- 1} \cdot {\underset{\_}{H}}^{H}},}\end{matrix}} & {{Eq}\quad(23)}\end{matrix}$where [V^(H)(m)]⁻¹=V(m) because V(m) is a unitary matrix.

The spatial filter matrix M_(ccmi)(m) may thus be computed as:M _(ccmi)(m)=V ^(H)(m)·M _(ccmi) _(—) _(base), for m=1 . . . M,  Eq (24)where M_(ccmi) _(—) _(base)=R⁻¹·H. The spatial filter matrix M_(ccmi)(m)may also be computed as:M _(ccmi)(m)=W ₁(m)·M _(ccmi)(1), for m=2 . . . M,  Eq (25)where M_(ccmi)(1)=V^(H)(1)·R⁻¹·H^(H).

For the MMSE technique for partial-CSI transmission, the spatial filtermatrix M_(p) _(—) _(mmse)(m) with fully correlated channel responsematrices may be expressed as: $\begin{matrix}{\quad\begin{matrix}{{{\underset{\_}{M}}_{p\_ mmse}(m)} = {\left\lbrack {{{\underset{\_}{H}}_{p\_ eff}^{H}{(m) \cdot {{\underset{\_}{H}}_{p\_ eff}(m)}}} + {\sigma^{2} \cdot \underset{\_}{I}}} \right\rbrack^{- 1} \cdot}} \\{{{\underset{\_}{H}}_{p\_ eff}^{H}(m)},} \\{\left\lbrack {{{{\underset{\_}{V}}^{H}(m)} \cdot {\underset{\_}{H}}^{H} \cdot \underset{\_}{H} \cdot {\underset{\_}{V}(m)}} + {\sigma^{2} \cdot \underset{\_}{I}}} \right\rbrack^{- 1} \cdot} \\{{{{\underset{\_}{V}}^{H}(m)} \cdot {\underset{\_}{H}}^{H}},} \\{{{\underset{\_}{V}}^{H}(m)} \cdot \left\lbrack {{{\underset{\_}{H}}^{H} \cdot \underset{\_}{H}} + {\sigma^{2} \cdot \underset{\_}{I}}} \right\rbrack^{- 1} \cdot {{\underset{\_}{H}}^{H}.}}\end{matrix}} & {{Eq}\quad(26)}\end{matrix}$Equation (26) may be derived in similar manner as equation (20) above.

The spatial filter matrix M_(p) _(mmse)(m) may be computed as:M _(p) _(—) _(mmse)(m)=V ^(H)(m)·M _(p) _(mmse) _(base), for m=1 . . .M,  Eq (27)where M_(p) _(mmse) _(—) _(base)=[H^(H)·H+σ² ·I] ⁻¹·H^(H). The spatialfilter matrix M_(p) _(—) _(mmse)(m) may also be computed as:M _(p) _(—) _(mmse)(m)=W ₁(m)·M _(p) _(mmse) (1), for m=2 . . . M,  Eq(28)where M_(p) _(—) _(mmse)(1)=V^(H)(1)·[H^(H)·H+H=σ²·I]⁻¹·H^(H).

Table 3 summarizes the computation for the spatial filter matrices forfull-CSI and partial-CSI transmissions with fully correlated channelresponse matrices over transmission spans m=1 . . . M . TABLE 3 SpatialFilter Matrices with Full Correlation Mode Spatial Filter MatrixTechnique Full-CSI M _(fcsi) _(—) _(base) = Λ ⁻¹ · E ^(H) · H ^(H), andFull-CSI M _(fcsi) (m) = V ^(H) (m) · M _(fcsi) _(—) _(base) M _(f) _(—)_(mmse) _(—) _(base) = [E ^(H) · H ^(H) · H · E + MMSE σ² · I]⁻¹ · E^(H) · H ^(H), and M _(f) _(—) _(mmse) _(—) _(base) (m) = V ^(H) (m) · M_(f) _(—) _(mmse) _(—) _(base) Partial-CSI M _(ccmi) _(—) _(base) = R⁻¹· H ^(H), and CCMI M _(ccmi) (m) = V ^(H) (m) · M _(ccmi) _(—) _(base) M_(p) _(—) _(mmse) _(—) _(base) = [H ^(H) · H + σ² · I]⁻¹ · H ^(H), andMMSE M _(p) _(—) _(mmse) (m) = V ^(H) (m) · M _(p) _(—) _(mmse) _(—)_(base)

In general, the spatial filter matrix for transmission span m may becomputed as M_(x)(m)=V^(H)(m)·M_(x) _(—) _(base), where the subscript“x” denotes the receiver processing technique and may be “fcsi”,“f_mmse”, “ccmi”, or “p_mmse”. The base spatial filter matrix M_(x) _(—)_(bass) may be computed as if steering transmit diversity was not used.

FIG. 4 shows a flow diagram of a process 400 to compute spatial filtermatrices with fully correlated channel response matrices overtransmission spans m=1 . . . M . An initial spatial filter matrix M_(x)_(init) is first computed (block 412). This initial spatial filtermatrix may be the base spatial filter matrix M_(x) _(—) _(base) that isderived based on (1) the channel response matrix H and (2) the receiverprocessing technique selected for use (e.g., full-CSI, MMSE forfull-CSI, CCMI, or MMSE for partial-CSI). Alternatively, the initialspatial filter matrix may be the spatial filter matrix M_(x)(1) fortransmission span m=1, which may be derived based on H and V(1).

The transmission span index m is then set to 1 if M_(x) _(—)_(init)=M_(x) _(—) _(base) (as shown in FIG. 4) or set to 2 if M_(x)_(—) _(init)=M_(x)(1) (block 414). The spatial filter matrix M_(x)(m)for transmission span m is then computed based on the initial spatialfilter matrix M_(x) _(—) _(init) and the steering matrix V(m) used fortransmission span m (block 416). In particular, M_(x)(m) may be computedbased on either M_(x) _(—) _(base) and V(m) or M_(x)(1) and W₁(m), asdescribed above. A determination is then made whether m<M (block 420).If the answer is ‘yes, then the index m is incremented (block 422), andthe process returns to block 416 to compute the spatial filter matrixfor another transmission span. Otherwise, if m=M in block 420, then thespatial filter matrices M_(x)(1) through M_(x)(M) are used for receiverspatial processing of received symbol vectors r_(x)(1) through r_(x)(M),respectively (block 424). Although not shown in FIG. 4 for simplicity,each spatial filter matrix may be used for receiver spatial processingas soon as both the spatial filter matrix M_(x)(m) is generated and thereceived symbol vector r_(x)(m) are obtained.

For full-CSI transmission, the spatial processing at the transmittingentity may also be simplified as: x_(f)(m)=E·V(m)·s(m). A matrix E·V(m)may be computed for each transmission span m based on the steeringmatrix V(m) for that transmission span and the matrix E, which is not afunction of transmission span for the full correlation case.

B. Partial Correlation

With partial-correlation, the channel response matrices for the MIMOchannel are less than fully correlated across a range of transmissionspan indices of interest. In this case, a spatial filter matrix computedfor a transmission span l may be used to facilitate the computation of aspatial filter matrix for another transmission span m.

In an embodiment, a base spatial filter matrix M_(x) _(—) _(base)(l) fortransmission span l is obtained from a spatial filter matrix M_(x)(l)computed for transmission span l by removing the steering matrix V(l)used for transmission span l, as follows:M _(x) _(—) _(base)(l)=V(l)·M _(x)(l).  Eq (29)The base spatial filter matrix M_(x) _(—) _(base)(l) is then used toderive a base spatial filter matrix M_(x) _(—) _(base)(m) fortransmission span m (e.g., m=l±1). M_(x) _(—) _(base)(m) may becomputed, e.g., using an iterative procedure or algorithm thatiteratively performs a set of computations on M_(x) _(—) _(base)(l) toobtain a final solution for M_(x) _(—) _(base)(m). Iterative proceduresfor computing an MMSE solution (e.g., adaptive MMSE algorithms, gradientalgorithm, lattice algorithms, and so on) are known in the art and notdescribed herein. The spatial filter matrix M_(x)(m) for transmissionspan m may be computed as:M _(x)(m)=V ^(H)(m)·M _(x) _(—) _(base)(m).  Eq (30)The processing order for this embodiment may thus be given as:M_(x)(l)→M_(x) _(—) _(base)(l)

M_(x) _(—) _(base)(m)→M_(x)(m), where “→” denotes a direct computationand “

” denotes possible iterative computation. The base spatial filtermatrices M_(x) _(—) _(base)(l) and M_(x) _(—) _(base)(m) do not containsteering matrices, whereas the spatial filter matrices M_(x)(l) andM_(x)(m) contain steering matrices V(l) and V(m) used for transmissionspans l and m, respectively.

In another embodiment, the spatial filter matrix M_(x)(m) fortransmission span m is computed using an iterative procedure thatiteratively performs a set of computations on an initial guess {tildeover (M)}_(x)(m). The initial guess may be derived from the spatialfilter matrix M_(x)(l) derived for transmission span l, as follows:{tilde over (M)} _(x)(m)=W _(l)(m)·M _(x)(l),  Eq (31)where W_(l)(m)=V^(H)(m)·V(l). The processing order for this embodimentmay be given as: M_(x)(l)→{tilde over (M)}_(x)(m)

M_(x)(m). The spatial filter matrices {tilde over (M)}_(x)(m) andM_(x)(m) both contain the steering matrix V(m) used for transmissionspan m.

For the above embodiments, M_(x) _(—) _(base)(l) and {tilde over(M)}_(x)(m) may be viewed as the initial spatial filter matrices used toderive the spatial filter matrix M_(x)(m) for a new transmission span m.In general, the amount of correlation between M_(x)(l) and M_(x)(m) isdependent on the amount of correlation between M_(x) _(—) _(base)(l) andM_(x) _(—) _(base)(m), which is dependent on the amount of correlationbetween H(l) and H(m) for transmission spans l and m. A higher degree ofcorrelation may result in faster convergence to the final solution forM_(x)(l).

FIG. 5 shows a flow diagram of a process 500 to compute spatial filtermatrices with partially correlated channel response matrices fortransmission spans m=1 . . . M . The indices for the current and nexttransmission spans are initialized as l=1 and m=2 (block 512). A spatialfilter matrix M_(x)(l) is computed for transmission span f in accordancewith the receiver processing technique selected for use (block 514). Aninitial spatial filter matrix M_(x) _(—) _(init) for transmission span mis then computed based on the spatial filter matrix M_(x)(l) and theproper steering matrix/matrices V(l) and V(m), e.g., as shown inequation (29) or (31) (block 516). The spatial filter matrix M_(x)(m)for transmission span m is then computed based on the initial spatialfilter matrix M_(x) _(—) _(init), X e.g., using an iterative procedure(block 518).

A determination is then made whether m<M (block 520). If the answer is‘yes’, then the indices l and m are updated, e.g., as l=m and m=m+1(block 522). The process then returns to block 516 to compute a spatialfilter matrix for another transmission span. Otherwise, if all spatialfilter matrices have been computed, as determined in block 520, then thespatial filter matrices M_(x)(1) through M_(x)(M) are used for receiverspatial processing of received symbol vectors r_(x)(1) through r_(x)(M),respectively (block 524).

For simplicity, FIG. 5 shows the computation of M spatial filtermatrices for M consecutive transmission spans m=1 . . . M. Thetransmission spans do not need to be contiguous. In general, a spatialfilter matrix derived for one transmission span l is used to obtain aninitial guess of a spatial filter matrix for another transmission spanm, where l and m may be any index values.

4. Steering Matrices

A set of steering matrices (or transmit matrices) may be generated andused for steering transmit diversity. These steering matrices may bedenoted as {V}, or V(i) for i=1 . . . L, where L may be any integergreater than one. Each steering matrix V(i) should be a unitary matrix.This condition ensures that the N_(T) data symbols transmittedsimultaneously using V(i) have the same power and are orthogonal to oneanother after the spatial spreading with V(i).

The set of L steering matrices may be generated in various manners. Forexample, the L steering matrices may be generated based on a unitarybase matrix and a set of scalars. The base matrix may be used as one ofthe L steering matrices. The other L−1 steering matrices may begenerated by multiplying the rows of the base matrix with differentcombinations of scalars. Each scalar may be any real or complex value.The scalars are selected to have unit magnitude so that steeringmatrices generated with these scalars are unitary matrices.

The base matrix may be a Walsh matrix. A 2×2 Walsh matrix W_(2×2) and alarger size Walsh matrix W_(2N×2N) may be expressed as: $\begin{matrix}{{\underset{\_}{W}}_{2 \times 2} = {{\begin{bmatrix}1 & {\quad 1} \\1 & {- 1}\end{bmatrix}\quad{and}\quad{\underset{\_}{W}}_{2N \times 2N}} = {\begin{bmatrix}{\underset{\_}{W}}_{N \times N} & {\quad{\underset{\_}{W}}_{N \times N}} \\{\underset{\_}{W}}_{N \times N} & {- {\underset{\_}{W}}_{N \times N}}\end{bmatrix}.}}} & {{Eq}\quad(32)}\end{matrix}$Walsh matrices have dimensions that are powers of two (e.g., 2, 4, 8,and so on).

The base matrix may also be a Fourier matrix. For an N×N Fourier matrixD_(N×N), the element d_(n,m) in the n-th row and m-th column of D_(N×N)may be expressed as: $\begin{matrix}{{d_{n,m} = {\mathbb{e}}^{{- {j2\pi}}\frac{{({n - 1})}{({m - 1})}}{N}}},{{{for}\quad n} = {{\left\{ {1\quad\ldots\quad N} \right\}\quad{and}\quad m} = {\left\{ {1\quad\ldots\quad N} \right\}.}}}} & {{Eq}\quad(33)}\end{matrix}$Fourier matrices of any square dimension (e.g., 2, 3, 4, 5, and so on)may be formed. Other matrices may also be used as the base matrix.

For an N×N base matrix, each of rows 2 through N of the base matrix maybe independently multiplied with one of K different possible scalars.K^(N−1) different steering matrices may be obtained from K^(N−1)different permutations of the K scalars for N−1 rows. For example, eachof rows 2 through N may be independently multiplied with a scalar of +1,−1, +j, or −j. For N=4 and K=4, 64 different steering matrices may begenerated from a 4×4 base matrix with four different scalars. Ingeneral, each row of the base matrix may be multiplied with any scalarhaving the form e^(jθ), where θ may be any phase value. Each element ofa scalar-multiplied N×N base matrix is further scaled by 1/√{square rootover (N)} to obtain an N×N steering matrix having unit power for eachcolumn.

Steering matrices derived based on a Walsh matrix (or a 4×4 Fouriermatrix) have certain desirable properties. If the rows of the Walshmatrix are multiplied with scalars of ±1 and ±j, then each element of aresultant steering matrix is +1, −1, +j, or −j. In this case, themultiplication of an element (or “weight”) of a spatial filter matrixwith an element of the steering matrix may be performed with just bitmanipulation. If the elements of the L steering matrices belong in a setcomposed of {+1, −1, +j, −j}, then the computation to derive the spatialfilter matrices for the full correlation case can be greatly simplified.

5. MIMO System

FIG. 6 shows a block diagram of an access point 610 and a user terminal650 in a MIMO system 600. Access point 610 is equipped with N_(ap)antennas that may be used for data transmission and reception, and userterminal 650 is equipped with N_(ut) antennas, where N_(ap)>1 andN_(ut)>1.

On the downlink, at access point 610, a TX data processor 620 receivesand processes (encodes, interleaves, and symbol maps) traffic/packetdata and control/overhead data and provides data symbols. A TX spatialprocessor 630 performs spatial processing on the data symbols withsteering matrices V(m) and possibly eigenvector matrices E(m) for thedownlink, e.g., as shown in Tables 1 and 2. TX spatial processor 630also multiplexes in pilot symbols, as appropriate, and provides N_(ap)streams of transmit symbols to N_(ap) transmitter units 632 a through632 ap. Each transmitter unit 632 receives and processes a respectivetransmit symbol stream and provides a corresponding downlink modulatedsignal. N_(ap) downlink modulated signals from transmitter units 632 athrough 632 ap are transmitted from N_(ap) antennas 634 a through 634ap, respectively.

At user terminal 650, N_(ut) antennas 652 a through 652 ut receive thetransmitted downlink modulated signals, and each antenna provides areceived signal to a respective receiver unit 654. Each receiver unit654 performs processing complementary to that performed by receiver unit632 and provides received symbols. An RX spatial processor 660 performsreceiver spatial processing on the received symbols from all N_(ut)receiver units 654 a through 654 ut, e.g., as shown in Tables 1 and 2,and provides detected data symbols. An RX data processor 670 processes(e.g., symbol demaps, deinterleaves, and decodes) the detected datasymbols and provides decoded data for the downlink.

The processing for the uplink may be the same or different from theprocessing for the downlink. Traffic and control data is processed(e.g., encoded, interleaved, and symbol mapped) by a TX data processor688, spatially processed by a TX spatial processor 690 with steeringmatrices V(m) and possibly eigenvector matrices E(m) for the uplink, andmultiplexed with pilot symbols to generate N_(ut) transmit symbolstreams. N_(ut) transmitter units 654 a through 654 ut condition theN_(ut) transmit symbol streams to generate N_(ut) uplink modulatedsignals, which are transmitted via N_(ut) antennas 652 a through 652 ut.

At access point 610, the uplink modulated signals are received by N_(ap)antennas 634 a through 634 ap and processed by N_(ap) receiver units 632a through 632 ap to obtain received symbols for the uplink. An RXspatial processor 644 performs receiver spatial processing on thereceived symbols and provides detected data symbols, which are furtherprocessed by an RX data processor 646 to obtain decoded data for theuplink.

Processors 638 and 678 perform channel estimation and spatial filtermatrix computation for the access point and user terminal, respectively.Controllers 640 and 680 control the operation of various processingunits at the access point and user terminal, respectively. Memory units642 and 682 store data and program codes used by controllers 630 and680, respectively.

FIG. 7 shows an embodiment of processor 678, which performs channelestimation and spatial filter matrix computation for user terminal 650.A channel estimator 712 obtains received pilot symbols and derives achannel response matrix for each transmission span in which receivedpilot symbols are available. A filter 714 may perform time-domainfiltering of the channel response matrices for the current and priortransmission spans to obtain a higher quality channel response matrixH(m). A unit 716 then computes an initial spatial filter matrix M_(x)_(—) _(init).

For fully correlated H(m), the initial spatial filter matrix M_(x) _(—)_(init) may be (1) a base spatial filter matrix M_(x) _(—) _(base)computed based on H(m) and the selected receiver processing technique or(2) a spatial filter matrix M_(x)(1) for transmission span 1 computedbased on H(1), V(1), and the selected receiver processing technique. Forpartially correlated H(m), the initial spatial filter matrix M_(x) _(—)_(init) may be an initial guess M_(x) _(—) _(base)(l) or {tilde over(M)}_(x)(m) that is obtained based on a spatial filter matrix M_(x)(l)computed for another transmission span t. A unit 718 computes thespatial filter matrix M_(x)(m) for transmission span m based on theinitial spatial filter matrix M_(x) _(—) _(init) and the steering matrixV(m) used for that transmission span. For partially correlated H(m),unit 718 may implement an iterative procedure to compute for M_(x)(m)based on the initial spatial filter matrix, which is an initial guess ofM_(x)(m).

Processor 638 performs channel estimation and spatial filter matrixcomputation for access point 610 and may be implemented in similarmanner as processor 678.

The spatial filter matrix computation techniques described herein may beimplemented by various means. For example, these techniques may beimplemented in hardware, software, or a combination thereof. For ahardware implementation, the processing units for spatial filter matrixcomputation may be implemented within one or more application specificintegrated circuits (ASICs), digital signal processors (DSPs), digitalsignal processing devices (DSPDs), programmable logic devices (PLDs),field programmable gate arrays (FPGAs), processors, controllers,micro-controllers, microprocessors, other electronic units designed toperform the functions described herein, or a combination thereof.

For a software implementation, the spatial filter matrix computation maybe performed with modules (e.g., procedures, functions, and so on). Thesoftware codes may be stored in memory units (e.g., memory units 642 and682 in FIG. 6) and executed by processors (e.g., controllers 640 and 680in FIG. 6). The memory unit may be implemented within the processor orexternal to the processor, in which case it can be communicativelycoupled to the processor via various means as is known in the art.

Headings are included herein for reference and to aid in locatingcertain sections. These headings are not intended to limit the scope ofthe concepts described therein under, and these concepts may haveapplicability in other sections throughout the entire specification.

The previous description of the disclosed embodiments is provided toenable any person skilled in the art to make or use the presentinvention. Various modifications to these embodiments will be readilyapparent to those skilled in the art, and the generic principles definedherein may be applied to other embodiments without departing from thespirit or scope of the invention. Thus, the present invention is notintended to be limited to the embodiments shown herein but is to beaccorded the widest scope consistent with the principles and novelfeatures disclosed herein.

1. A method of deriving spatial filter matrices in a wirelessmultiple-input multiple-output (MIMO) communication system, comprising:determining an initial spatial filter matrix; and deriving a pluralityof spatial filter matrices for a plurality of transmission spans basedon the initial spatial filter matrix and a plurality of steeringmatrices used for the plurality of transmission spans.
 2. The method ofclaim 1, wherein the initial spatial filter matrix is determined basedon a channel response matrix for a MIMO channel.
 3. The method of claim2, wherein the spatial filter matrix for each of the plurality oftransmission spans is derived based on the initial channel responsematrix and a steering matrix used for the transmission span.
 4. Themethod of claim 2, wherein the initial spatial filter matrix is furtherdetermined based on a steering matrix for one of the plurality oftransmission spans.
 5. The method of claim 3, wherein the spatial filtermatrix for each of the plurality of transmission spans is derived basedon the initial channel response matrix, the steering matrix used todetermine the initial spatial filter matrix, and a steering matrix usedfor the transmission span.
 6. The method of claim 1, wherein data istransmitted on orthogonal spatial channels of a MIMO channel, andwherein the initial channel response matrix is determined in accordancewith a full channel state information (full-CSI) technique.
 7. Themethod of claim 1, wherein data is transmitted on orthogonal spatialchannels of a MIMO channel, and wherein the initial channel responsematrix is determined in accordance with a minimum mean square error(MMSE) technique.
 8. The method of claim 1, wherein data is transmittedon spatial channels of a MIMO channel, and wherein the initial channelresponse matrix is determined in accordance with a channel correlationmatrix inversion (CCMI) technique.
 9. The method of claim 1, whereindata is transmitted on spatial channels of a MIMO channel, and whereinthe initial channel response matrix is determined in accordance with aminimum mean square error (MMSE) technique.
 10. The method of claim 1,wherein the plurality of steering matrices are used by a transmittingentity to spatially process data to achieve transmit diversity.
 11. Themethod of claim 1, wherein elements of the plurality of steeringmatrices are members of a set comprised of +1, −1, +j, and −j, where jis a square root of −1.
 12. The method of claim 1, wherein the pluralityof transmission spans correspond to a plurality of symbol periods. 13.The method of claim 1, wherein the plurality of transmission spanscorrespond to a plurality of frequency subbands.
 14. The method of claim1, further comprising: performing spatial processing on symbols receivedfor the plurality of transmission spans with the plurality of spatialfilter matrices.
 15. An apparatus in a wireless multiple-inputmultiple-output (MIMO) communication system, comprising: a processoroperative to determine an initial spatial filter matrix and to derive aplurality of spatial filter matrices for a plurality of transmissionspans based on the initial spatial filter matrix and a plurality ofsteering matrices used for the plurality of transmission spans; and amemory operative to store the plurality of steering matrices.
 16. Theapparatus of claim 15, wherein the initial spatial filter matrix isdetermined based on a channel response matrix for a MIMO channel, andwherein the spatial filter matrix for each of the plurality oftransmission spans is derived based on the initial channel responsematrix and a steering matrix used for the transmission span.
 17. Theapparatus of claim 15, wherein the initial channel response matrix isdetermined in accordance with a full channel state information(full-CSI) technique, a minimum mean square error (MMSE) technique, or achannel correlation matrix inversion (CCMI) technique.
 18. The apparatusof claim 15, wherein elements of the plurality of steering matrices aremembers of a set comprised of +1, −1, +j, and −j, where j is a squareroot of −1.
 19. The apparatus of claim 15, further comprising: a spatialprocessor operative to perform spatial processing on symbols receivedfor the plurality of transmission spans with the plurality of spatialfilter matrices.
 20. An apparatus in a wireless multiple-inputmultiple-output (MIMO) communication system, comprising: means fordetermining an initial spatial filter matrix; and means for deriving aplurality of spatial filter matrices for a plurality of transmissionspans based on the initial spatial filter matrix and a plurality ofsteering matrices used for the plurality of transmission spans.
 21. Theapparatus of claim 20, wherein the initial spatial filter matrix isdetermined based on a channel response matrix for a MIMO channel, andwherein the spatial filter matrix for each of the plurality oftransmission spans is derived based on the initial channel responsematrix and a steering matrix used for the transmission span.
 22. Theapparatus of claim 20, wherein the initial channel response matrix isdetermined in accordance with a full channel state information(full-CSI) technique, a minimum mean square error (MMSE) technique, or achannel correlation matrix inversion (CCMI) technique.
 23. The apparatusof claim 20, wherein elements of the plurality of steering matrices aremembers of a set comprised of +1, −1, +j, and −j, where j is a squareroot of −1.
 24. The apparatus of claim 20, further comprising: means forperforming spatial processing on symbols received for the plurality oftransmission spans with the plurality of spatial filter matrices.
 25. Amethod of deriving spatial filter matrices in a wireless multiple-inputmultiple-output (MIMO) communication system, comprising: deriving afirst spatial filter matrix for a first transmission span; determining afirst initial spatial filter matrix for a second transmission span basedon the first spatial filter matrix; and deriving a second spatial filtermatrix for the second transmission span based on the first initialspatial filter matrix.
 26. The method of claim 25, wherein the firstspatial filter matrix is derived based on a channel response matrixobtained for a MIMO channel in the first transmission span and furtherin accordance with a receiver spatial processing technique.
 27. Themethod of claim 25, wherein the determining the first initial spatialfilter matrix comprises processing the first spatial filter matrix toremove a first steering matrix used for the first transmission span, andwherein the first initial spatial filter matrix is equal to the firstspatial filter matrix with the first steering matrix removed.
 28. Themethod of claim 25, wherein the determining the first initial spatialfilter matrix comprises: processing the first spatial filter matrix toremove a first steering matrix used for the first transmission span andto include a second steering matrix used for the second transmissionspan, and wherein the first initial spatial filter matrix is equal tothe first spatial filter matrix with the first steering matrix removedand the second steering matrix included.
 29. The method of claim 25,wherein the second spatial filter matrix is derived using an iterativeprocedure that iteratively performs a set of computations on the firstinitial spatial filter matrix to obtain a final solution for the secondspatial filter matrix.
 30. The method of claim 25, further comprising:determining a second initial spatial filter matrix for a thirdtransmission span based on the second spatial filter matrix; andderiving a third spatial filter matrix for the third transmission spanbased on the second initial spatial filter matrix.
 31. The method ofclaim 25, wherein the first and second transmission spans correspond totwo different symbol periods.
 32. The method of claim 25, wherein thefirst and second transmission spans correspond to two differentfrequency subbands.
 33. An apparatus in a wireless multiple-inputmultiple-output (MIMO) communication system, comprising: a processoroperative to derive a first spatial filter matrix for a firsttransmission span, determine a first initial spatial filter matrix for asecond transmission span based on the first spatial filter matrix, andderive a second spatial filter matrix for the second transmission spanbased on the first initial spatial filter matrix.
 34. The apparatus ofclaim 33, wherein the processor is operative to process the firstspatial filter matrix to remove a first steering matrix used for thefirst transmission span, and wherein the first initial spatial filtermatrix is equal to the first spatial filter matrix with the firststeering matrix removed.
 35. The apparatus of claim 33, wherein theprocessor is further operative to determine a second initial spatialfilter matrix for a third transmission span based on the second spatialfilter matrix, and to derive a third spatial filter matrix for the thirdtransmission span based on the second initial spatial filter matrix. 36.An apparatus in a wireless multiple-input multiple-output (MIMO)communication system, comprising: means for deriving a first spatialfilter matrix for a first transmission span; means for determining afirst initial spatial filter matrix for a second transmission span basedon the first spatial filter matrix; and means for deriving a secondspatial filter matrix for the second transmission span based on thefirst initial spatial filter matrix.
 37. The apparatus of claim 36,wherein the means for determining the first initial spatial filtermatrix comprises means for processing the first spatial filter matrix toremove a first steering matrix used for the first transmission span, andwherein the first initial spatial filter matrix is equal to the firstspatial filter matrix with the first steering matrix removed.
 38. Theapparatus of claim 36, further comprising: means for determining asecond initial spatial filter matrix for a third transmission span basedon the second spatial filter matrix; and means for deriving a thirdspatial filter matrix for the third transmission span based on thesecond initial spatial filter matrix.